package org.baicaixiaozhan.learn.guava.base;

import com.google.common.base.Splitter;
import java.util.Arrays;

/**
 * DESC: {@link Splitter} 字符串分割示例
 *
 * @author : baicaixiaozhan
 * @since : 2020-11-11
 */
public class StringSplittingDemo {

    private static final String PATTERN_COMMA = ",";

    public static void main(String[] args) {
        String str = " foo, ,bar, quux,";

        javaApiImpl(str);

        guavaApiImpl(str);
    }

    /**
     * java api 实现分割
     *
     * @param str
     */
    public static void javaApiImpl(String str) {
        System.out.println("使用 Java api 实现分割 =======");
        Arrays.stream(str.split(PATTERN_COMMA))
                .map(element -> element.concat("|"))
                .forEach(System.out::println);
    }

    /**
     * 使用 Guava api 实现分割
     *
     * @param str
     */
    public static void guavaApiImpl(String str) {
        System.out.println("使用 Guava api 实现分割 =======");
        Splitter.on(PATTERN_COMMA)
                .omitEmptyStrings()
                .trimResults()
                .splitToList(str)
                .forEach(System.out::println);
    }

}
